Radio Frequency Identification (RFID) is a technology that is widely used to automatically identify objects or persons without the need for line-of-sight communication by the use of electric or magnetic fields or radio waves. RFID transponders typically have no internal power supply, and instead receive sufficient power to operate by extracting electrical power from a received signal. To allow an RFID transponder to be unambiguously identified, enabling identification of the item to which it is associated, each transponder has a stored Unique Identifier (UID), a term used in the international standard ISO15693. The UID is typically programmed during production tests at the IC vendor and ensures the uniqueness of each identifier. The UID can then be linked to a physical object or a person.
There are two basic schemes of communication used in RFID: Reader Talks First (RTF) and Tag Talks First (TTF). Tag Talks First means, whenever a transponder is powered up by a reader field, it starts transmitting its UID and repeating it. The Reader has to catch these transmissions to identify the transponders in its field. The Tag Talks First scheme allows very simple transponders at the cost of there being no possibility for more advanced and faster identification methods or additional read/write memory. To overcome these limitations Reader Talks First can be used. This means the transponder has to wait until it receives an instruction from the reader to execute a predefined action, e.g. responding with its UID.
A persistent flag is a flag that is preserved throughout a short period of no power supply (for example during a field reset). This is used in RFID systems, particularly those having no internal power supply, to keep the identification state of an RFID transponder during short periods of no power. Basic information comprising an identification state typically relates to whether the transponder has already been identified (i.e. the UID has been successfully read by the system), indicating that there is no need to participate in the identification procedure any longer, or whether the transponder has not yet been identified (i.e. the UID has not yet been read successfully by the system), indicating that the transponder needs to participate in the identification procedure. A typical application is in the case of tunnel readers, which are capable of reading RFID transponders in every orientation and have at least three differently oriented antennae. The reader periodically switches between these antennae during the identification procedure, resulting in any transponders within range not being powered during the time needed for switching between the antennae or when a particular antenna orientation does not provide sufficient power. A persistent flag for such a purpose is specified for example in the international standard ISO18000-3M3.
Non-volatile memory can be used to store data together with redundant information to enable detection and possibly correction of the stored data in case of bit errors. A logical byte (8 bits) may for example be stored in 12 physical bits, which enables correction of an error in any given bit. This means, however, that to read one byte, or even when only reading one bit of information, 12 bits need to be read to enable this level of error correction.
Some transponders also contain a signature that is calculated over the UID to prove its authenticity. This signature would be invalid if any bit of the UID or the signature changes in the field, thereby enabling a reader to interrogate a transponder to determine its validity.
Smart Card ICs typically employ a checksum stored in system memory that is calculated for any security relevant data during each start-up routine.
Most RFID transponders comprise user memory (i.e. a memory that is read/write accessible for the user). It is therefore possible for an RFID system to calculate a checksum over the UID and store it in the user memory for checking.
A checksum may for example be useful for the RFID transponder itself to check during a start-up routine whether the UID has been altered or corrupted in any way, which might occur as a result of mechanical shocks or extreme environmental conditions. A problem with this approach, however, is the need for additional data to be read from the transponder memory, which adds time to the start-up routine. As well as the UID, the configuration data and the checksum would need to be read at start-up, and an integrity check performed, before the transponder is able to respond to a signal. This would delay the time at which the transponder could respond to the presence of a read signal being transmitted. Either more time would need to be allowed for the start-up routine or the transponder would need to operate at a faster rate during start-up. The first option may not be possible due to the requirements defined by international standards such as ISO15693 to be ready to process a command within a given time period (which is specified in ISO15693 to be a maximum of 1 ms). The second option is also not generally possible or desirable because this would require more power to be used, resulting in a negative impact on the operating range of the transponder.
A worst case scenario for a sequence of operations in a read operation for a transponder may involve the following steps:
1. A field reset operation;
2. A limited time being set by the reader for the transponder to perform a start-up routine;
3. Issuing of an identification command; and
4. Proceeding directly to step 1 if no response is received from a transponder.
If a transponder is not able to complete its start-up routine within the limited time available, it will not be able to process the identification command and will therefore never be identified.
It is an object of the invention to address one or more of the above mentioned problems.